﻿namespace ConfigureNZBLoader.TreeItemTags
{
    abstract class BaseTreeItemTag
    {
        private long _ID;
        public long ID
        {
            get
            {
                return _ID;
            }
            set
            {
                _ID = value;
            }
        }

        protected BaseTreeItemTag(long ID)
        {
            this.ID = ID;
        }

        public abstract EditControls.BaseEditControl EditControl { get; }
        public abstract System.Windows.Forms.TreeNode CreateNew(System.Windows.Forms.ContextMenuStrip menuNew, System.Windows.Forms.ContextMenuStrip menuDelete);
        public abstract void Delete();
        public virtual bool canDelete() { return ID != 0; }
        public virtual bool canCreate() { return ID == 0; }
    }
}
